#ifndef _CAMERA_H_
#define _CAMERA_H_

#include "../../include/vertex.h"
#include "../../include/vector.h"
#include "../../include/ray.h"
#include "../../include/scene.h"
#include "../../include/sphere.h"
#include "../../include/directional_light.h"

//Add a camera class that can generate primary rays based on eye position, lookat and up vector
class Camera {
	int distance;
	Vector w;
	Vector u;
	Vector v;
	float d;
	float s;
public:






	Vertex Eye;//  Eye  The eye position
	Vector Look;//  Look The look at point
	Vector Up;//  Up The up vector

	Camera(void);

	void orthonormal();
	Ray generatePrimaryRay(int x, int y, int width, int height);
	Colour PrimaryRayTracing(int x1, int y1, int width1, int height1,
			Scene * scene);
};

#endif
